package com.ccsc.auth.dao;

import com.ccsc.auth.entity.Department;
import com.ccsc.auth.entity.User;
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;

import java.util.List;

/**
 * 部门
 * Created by yyangs on 2017/2/10.
 */
public interface DepartmentDao {
    Department getDepartmentInfoByIdOrIdentifiers(Department department) throws Exception;   		            //根据部门条件查单个部门信息（id,部门标识符等）

    List<Department> getAllDepartments() throws Exception;       								                   //获取全部部门列表
    List<Department> getAllDepartments(PageBounds pageBounds) throws Exception;       							 //分页获取全部部门列表

    List<Department> getAllDepartmentInfosByCondition(Department department) throws Exception;					            //根据条件查询部门列表
    List<Department> getAllDepartmentInfosByCondition(Department department, PageBounds pageBounds) throws Exception;       //分页根据部门条件查询部门列表

    List<Department> getDepartmentInfoByPositionId(Integer positionId) throws Exception;                           //根据职位查询部门信息

    Integer createDepartment(Department department) throws Exception;  										            //添加部门
    Integer updateDepartment(Department department) throws Exception;  										            //修改部门
    Integer deleteDepartment(Department department) throws Exception; 					                	            //删除部门

    Integer checkAviableIdentifier(String identifier) throws Exception;								                //验证部门标识符唯一性

}